package com.tmt.helper;

import java.lang.reflect.Array;
import java.util.Collection;
import java.util.List;

/**
 * 集合工具
 * Created by ThreeManTeam on 2017/6/8.
 */
public class CollectionHelper {

    /**
     * 判断 集合是否为空
     *
     * @param collection
     */
    public static boolean isEmpty(Collection<?> collection) {
        return collection == null || collection.isEmpty();
    }

    /**
     * 判断数组是否为空
     *
     * @param objects 数组
     * @return 是否为空
     */
    public static boolean isEmpty(Object[] objects) {
        return objects == null || objects.length == 0;
    }

    /**
     * 列表转换为指定类型的数组
     *
     * @param list  列表数据
     * @param clazz 数组元素数据类型
     * @param <T>   元素类型
     * @return 指定类型的数组
     */
    public static <T> T[] toArray(List<T> list, Class<T> clazz) {
        if (list == null) {
            return null;
        }

        T[] copy = (T[]) Array.newInstance(clazz, list.size());
        return list.toArray(copy);
    }

}
